فونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا ساز

لطفا از تمام مطالب دیدن فرمایید.

فصل پنجم _ ایجاد یک برنامه ساده(شمارش تعداد کاراکترها و کلمات) _ C#

ویژوال استودیو دارای مجموعه کاملی ازکنترل ها است که می توانید برای طراحی برنامه های خود از آن ها استفاده کنید. در طراحی کی برنامه، اغلب با استفاده از این کنترل ها می توان برنامه را طراحی کرد . اما در فصل های بعد خواهید دید که چگونه می توانید کنترل هایی مخصوص به خودتان بسازید.
درقسمت بعد مشاهده خواهیم کرد که چگونه می توان با ترکیب این کنترل ها، برنامه ساده ای را ایجاد کرد. در قسمت امتحان کنید بعد یک برنامه ساده ویندوزی ایجاد خواهیم کرد که به کاربر اجازه دهد متنی را در یک کادر وارد کند. سپس برنامه تعداد حروف متن و تعداد کلمات آن را شمرده و آن را در صفحه نمایش می دهد.

ایجاد فرم:

برای نوشتن این برنامه، اولین کار ایجاد یک پروژه جدید و ساختن یک فرم برای برنامه است.این فرم شامل دوکنترل TextBox چند خطی خواهد بود تا کاربر بتواند متن مورد نظر خود را در ان وارد کند. همچنین برنامه شامل 2 کنترل RadioButton خواهد بود که به کاربر اجازه می دهد، بین شمردن کلمات متن وی حروف آن یک مورد را انتخاب کند.

امتحان کنید: ایجاد فرم

  • پروژه جدیدی به نام Word Curent ایجاد کنید.
  • بر روی فرم برنامه کلیک کنید تا انتخاب شود. سپس با استفاده از پنجره Properties خاصیت سهظث  را برابر با 424;312، خاصیت StartPosition را برابر CenterScreen . خاصیت Text آن را برابر با Word Counter قرار دهید.
  • یک کنترل TextBox بر روی فرم قرار دهید و خاصیت هایی که در زیر نوشته شده است را تنظیم کنید:
Name==txtWords
Location==8,23
Multiline== True
ScrollBars==Vertical
Size==400,217
  • برای این که کاربر را در استفاده از فرم راهنمایی کنید، باید یک برچسب نیز روی فرم قرار دهید.برای این کار از جعبه ابزار کنترل Label را انتخاب کنید و آن را با استفاده از ماوس همانند قرار دادن کنترل Textbox، بر روی فرم قرار دهید. و خاصیت Text  آن را برابر با Enter some text into this box قرار دهید .

txt1

  • برنامه شما قادر خواهد بود تعداد کلمات ونیز تعداد حروف داخل یک متن را بشمارد. بنابراین باید به کاربر اجازه دهید که شمارش تعداد و یا تعداد حروف را انتخاب کند. برای این کار می توانید از دو کنترل RadioButton استفاده کنید.با استفاده از جعبه ابزار، 2کنترل  RadioButton در کنار هم و در پایین TextBox بر روی فرم قرار دهید.سپس خاصیتهای این کنترل ها را برابر با مقادیر مشخص شده در زیر را وارد کنید.
خاصیت ها برای دکمه رادیویی اول :
Name==radCountChar
Checked==True
Text==Chars
خاصیت ها برای دکمه رادیویی دوم:
Name==radCountWords
Text==Words
  • هنگامی که کاربر متنی را در  مادر مشخص شده وارد کرد، برنامه تعداد کاراکتر ها و یا تعداد کلمات آن را خواهد شمرد. در مرحله بعد این تعداد باید به وسیله پیغام مناسب به کاربر نمایش داده شود.بنابراین،برای نمایش نتیجه دو کنترل لیبل را در کنار کنترل های RadioButton در فرم قرار دهید.
  • کنترل لیبل اول( که دارای نام Label2 است) فقط برای نمایش یک متن ثابت در طول برنامه به کار می رود،بنا براین نیازی نیست که نام آن را تغییر دهیم.کافی است که خاصیت Text آن را با The result are: تنظیم کنیم.لیبل دوم برای نمایش نتیجه به کار می رود. بنابراین خاصیت Name آن را برابر با lblResults قرار می دهیم و متن داخل Text را نیز پاک می کنیم. بعد از انجام این موارد فرم برنامه شما مشابه شکل زیر باشد.
  • حال که کنترل ها را در مکان مورد نظرتان بر روی فرم قرار دادید، بهتر است کار ی کنید که در جای خود ثابت باقی بمانند و موقعیتشان به طور تصادفی تغییر نکند. برای این کار یکی از کنترل های روی فرم را انتخاب کرده و سپس گزینه  Format ->Lock Controls از نوار منو انتخاب کنید.وقتی که این گزینه را انتخاب کنید شما دیگر قادر نخاهید بود که مکان و اندازه آن را تغییر دهید

frm

شمارش کاراکتر ها:

txt2

امتحان کنید: شمارش کاراکتر ها

  • درقسمت ویرایشگر کد، کد زیر را درون کلاس مربوط بهForm 1 وارد کنید به یاد دارید که برای قرار دادن برای قرار دادن بخش های توضیحی از نوع XML Document Coment  باید سه کاراکتر / را به طور متوالی قبل از تابع وارد کنید.

txt3

  •  برنامه را اجرا کنید و متنی را در TextBox وارد کنید مشاهده خواهید کرد که تعداد کاراکترهای موجود در متن در پایین فرم شکل  زیر نمایش داده می شود.
چگونه کار می کند؟؟

txt4

char

 سپس عدد به دست امده با پیغام مناسب در کنترل لیبل قرار می گیرد تا تعداد کاراکتر های موجود در متن به کاربر اطلاع داده شود.

 شمارش کلمات:

اگر چه نوشاتن یک برنامه با استفاده از ویژوال بسیار ساده به نظر می رسد، اما ارائه یک راه حل ظریف و کارامد برای یک مسئله به ترکیبی از تجربه و استدلال نیاز دارد.
برای مثال همین برنامه را در نظر بگیرید.شما می خواهید هنگامی که دکمه رادیویی Words انتخاب شده بود، برنامه تعداد کلمات را بشمارد و هنگامی که دکمه رادیویی Chars انتخاب شده بود برنامه تعداد کاراکتر ها را بشمارد. در این مورد باید به دو مورد توجه کنید. اول اینکه زمانی که به رویداد Text Change پاسخ می دهید، برای شمارش تعداد کلمات باید از یک تابع  و برای شمارش تعداد کاراکتر ها باید از تابعی دیگر استفاده کنید.البته این مورد زیاد سخت نیست.
دوم اینکه هنگامی که کاربر بر روی یکی از کنترل های RadioButton کلیک می کند، باید متن نمایش داده شده را از “Characters” به “Word” و یا بر عکس تغییر دهید.

امتحان کنید: شمارش کلمات

  • اگر همچنان برنامه در حال اجراست، آن را متوقف کنید.اولین کاری که باید انجام دهید این است که تابع دیگری بنویسید که تعداد کلمات موجود در یک متن مشخص را بشمارد.کد زیر را به برنامه اضافه کنید تا تابع Count Words ایجاد شود:
  •  در این مرحله زیر برنامه ای به نام UpdatDisplay ایجاد خواهیم کرد که متن را از TexBox دریافت کند و بعد از تشخیص اینکه تعداد کاراکتر ها را باید بشمارد و یا تعداد کلمات را، عدد مورد نظر را در صفحه نمایش دهد.برای اضافه کردن این زیر برنامه اضافه کردن این زیر برنامه کد زیر را به برنامه اضافه کنید:
  •  حال به جای اینکه در متد مربوط به رویداد کلیک، تابع CountCharacters را فراخوانی کنیم، تابع UpdateDisplay را فراخوانی می کنیم. بنابراین تغییرات زیر را در این متد ایجاد می کنیم.

txt5

  •  مراحل قبل را برای کنترل radCountChars نیز تکرار کنید:
 برنامه را اجرا کرده و متنی را در قسمت مشخص شده وارد کنید. سپس بر روی دکمه رادیویی Words کلیک کنید. مشاهده می کنید که متن نمایش داده شده در فرم تغییر کرده و تعداد کلمات را نمایش دهد.(شکل زیر)

word

لینک دانلود پروژه Words Curent

چگونه کار می کند؟؟

قبل از اینکه به بررسی قسمتهای مختلف برنامه بپردازیم، بهتر است که نحوه عملکرد تابع CountWords را برسی کنیم:
 در ابتدای تابع مقدار خاصیت Text مربوط به TextBox را با عضو  Empty از کلاس String بررسی می کنیم تا از وجود متن  در آن مطمئن شویم. عضو Empty از کلاس String برابر با رشته ای به طول صفر (“”) است.بنابراین اگر مقدار داخل خاصیت Text برابر با این عضو باشد می توان فهمید که متنی داخل TextBox وارد نشده است.دراین حالت تابع مقدار صفر را بر می گرداند.

txt6

نکته: در این برنامه فرض کرده ایم که رشته به صورت استاندارد در TextBox وارد شده است، یعنی تمام کلمات فقط با یک کاراکتر فاصله از یک دیگر جدا شده اند.بنابراین اگر بین کلمات متنی که در برنامه وارد می کنید بیش از یک فاصله وجود داشته باشد، تعداد کلمات به صورت نادرست نمایش داده می شود.

txt7

txt8

امیدوارم از آموزش خوشتون اومده باشه(نظر در مورد نحوه آموزش یادتون نره)

 


موضوعات مرتبط: فصل پنجم _ ایجاد یک برنامه ساده(شمارش تعداد کاراکترها و کلمات) _ C# ، ،
برچسب‌ها:

ادامه مطلب
تاريخ : چهار شنبه 29 مرداد 1393برچسب:, | 8:38 | نویسنده : کـــــوچـــــولـــــو |

صفحه قبل 1 صفحه بعد

لطفا از دیگر مطالب نیز دیدن فرمایید
.: Weblog Themes By SlideTheme :.

Flying Icon